package com.ice.two;

import com.ice.utils.RabbitmqUtil;
import com.rabbitmq.client.CancelCallback;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.DeliverCallback;

/**
 * 这是一个工作线程 消费者
 *
 * @author : Ice-winters
 * @since : 2021-06-21 13:07
 */
public class Worker01 {

    public static final String QUEUE_NAME = "zhc-queue";

    /**
     * 接收消息
     */
    public static void main(String[] args) throws Exception {
        // 开启信道
        Channel channel = RabbitmqUtil.getChannel();

        // 接收到消息后回调函数
        DeliverCallback deliverCallback = (consumerTag, message) -> {
            System.out.println("接收到的消息："+new String(message.getBody()));
        };

        // 接收消息中断回调函数
        CancelCallback cancelCallback = consumerTag -> {
            System.out.println(consumerTag + " 消息消费被中断取消");
        };
        System.out.println("C2 工作线程 等待接收消息...");
        // 接收消息
        channel.basicConsume(QUEUE_NAME, true, deliverCallback, cancelCallback);

    }


}
